/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ar.com.remiseria.bo;

import ar.com.remiseria.dao.ViajeDAO;
import ar.com.remiseria.entities.Auto;
import ar.com.remiseria.entities.Chofer;
import ar.com.remiseria.entities.Cliente;
import ar.com.remiseria.entities.Domicilio;
import ar.com.remiseria.entities.Viaje;
import ar.com.remiseria.entities.CuentaCorrienteCliente;
import ar.com.remiseria.dao.CuentaCorrienteClienteDAO;
import ar.com.remiseria.utils.Constantes;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.hibernate.HibernateException;

/**
 *
 * @author mcvalls
 *
 */
public class CuentaCorrienteClienteBO {

    CuentaCorrienteClienteDAO cuentaCorrienteClienteDAO = new CuentaCorrienteClienteDAO();

    public List<CuentaCorrienteCliente> getAllCuentaContableCliente(int paginaActual) throws Exception {
        List<CuentaCorrienteCliente> cuentasContables = new ArrayList<CuentaCorrienteCliente>();

        int start = 0;
        if(paginaActual > 1){
            start = ((paginaActual - 1) * Constantes.PAG_MAX_RESULTS) + 1;
        }
        
        try{
            cuentasContables = cuentaCorrienteClienteDAO.getAll(CuentaCorrienteCliente.class, start);
        }catch(HibernateException ex){
            throw new Exception(ex);
        }
        
        return cuentasContables;
    }

    public int getCuentaCorrienteClienteCount() throws Exception {
        int cuentasTotales = 0;
        
        try{
            cuentasTotales = cuentaCorrienteClienteDAO.getCount(CuentaCorrienteCliente.class);
        }catch(HibernateException ex){
            throw new Exception(ex);
        }
        
        return cuentasTotales;
    }

    public CuentaCorrienteCliente saveNewCuentaCorrienteCliente(CuentaCorrienteCliente cuentaCorrienteCliente) throws Exception{
        
        try{
            cuentaCorrienteClienteDAO.saveNew(cuentaCorrienteCliente);
        }catch(HibernateException ex){
            throw new Exception(ex);
        }
        
        return cuentaCorrienteCliente;
    }

}
